/**
 * @file      : main.c
 * @brief     : file brief
 * @author    : huenrong (huenrong1028@gmail.com)
 * @date      : 2021-01-03 14:46:11
 * @author    : huenrong
 *
 * @copyright : Copyright (c) 2021 胡恩荣
 *
 */

#include <stdio.h>

#include "./user_list/user_list.h"

int main(int argc, char *argv[])
{
    struct user_list_node_data node_data;
    uint32_t user_list_len = -1;

    // 初始化链表
    user_list_init();

    // 获取链表长度
    user_list_len = get_user_list_len();
    printf("user_list_len = %d\n", user_list_len);

    printf("-----------------------------------\n");

    // 插入数据
    for (uint8_t i = 0; i < 5; i++)
    {
        if ((0 == i) || (1 == i))
        {
            snprintf(node_data.name, sizeof(node_data.name), "name_%d", 0);
            node_data.age = (0 * 10);
        }
        else
        {
            snprintf(node_data.name, sizeof(node_data.name), "name_%d", i);
            node_data.age = (i * 10);
        }

        int ret = user_list_add_tail(node_data);
        if (0 != ret)
        {
            printf("user_list_add_tail fail\n");
        }
    }

    // 遍历链表
    user_list_for_each_entry_safe_function();

    // 获取链表长度
    user_list_len = get_user_list_len();
    printf("user_list_len = %d\n", user_list_len);

    printf("-----------------------------------\n");

    snprintf(node_data.name, sizeof(node_data.name), "name_%d", 0);
    node_data.age = (0 * 10);

    // 删除节点
    user_list_del(node_data);

    // 遍历链表
    user_list_for_each_entry_safe_function();

    // 获取链表长度
    user_list_len = get_user_list_len();
    printf("user_list_len = %d\n", user_list_len);

    return 0;
}
